﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Helena.Areas.Productos.Models;
using Helena.Areas.Campanas.Models;
using Helena.Areas.Vendedores.Models;
using Helena.Areas.Categorias.Models;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace Helena.Areas.Degustaciones.Models
{
    public class DegustacionView
    {
        public int ID { get; set; }

        [Required]
        [DisplayName("Estado")]
        public bool Estado { get; set; }

        [Required]
        [DisplayName("Producto Degustado")]
        public int ProductoID { get; set; }

        [Required]
        [DisplayName("Categoria del Producto")]
        public int CategoriaID { get; set; }
        
        [Required]
        [DisplayName("Campaña del Producto")]
        public int CampanaID { get; set; }

        [Required]
        [DisplayName("Usuario Autorizo")]
        public int VendedorID { get; set; }

        public DateTime Fecha { get; set; }
        public double Cantidad { get; set; }
        public string Descripcion { get; set; }

        public DegustacionView() { Fecha = DateTime.Now; Estado = true; }
        public DegustacionView(Degustacion degu) 
        {
            ID = degu.ID;
            Estado = degu.Estado;
            ProductoID = degu.ProductoID;
            CategoriaID = degu.CategoriaID;
            CampanaID = degu.CampanaID;
            VendedorID = degu.VendedorID;
            Fecha = degu.Fecha;
            Cantidad = degu.Cantidad;
            Descripcion = degu.Descripcion;
        }

        public Degustacion deserializa(InterfazLogicaDegustacion logica)
        {
            return new Degustacion
            {
                ID = this.ID,
                Estado = this.Estado,
                ProductoID = this.ProductoID,
                CategoriaID = this.CategoriaID,
                CampanaID = this.CampanaID,
                VendedorID = this.VendedorID,
                Fecha = this.Fecha,
                Cantidad = this.Cantidad,
                Descripcion = this.Descripcion
            };            
        }
    }
}